package secondStage.part6.方法引用类.引用构造器;

/**
 * @ClassName: [StudentDemo]
 * @Description:
 * @Author: [黄劲松]
 * @CreateDate: [2021-04-14]
 * @Version: [v1.0]
 */
/*
1.7引用构造器
引用构造器，实际就是引用构造方法
●格式:类名::new
●范例: Student:new
练习
●定义一个类(Student), 里面有两个成员变量(name,age)
    并提供无参构造方法和带参构造方法,以及成员变量对应的get和set方法
●定义一个接口(StudentBuilder),里面定义一个抽象方法
    Student build(String name,int age);
●定义一个测试类(StudentDemo), 在测试类中提供两个方法
    一个方法是: useStudentBuilder(StudentBuilder s)
    一个方法是主方法，在在方法中调用useStudentBuilder方法
 */
public class StudentDemo {
    public static void main(String[] args) {
        /*useStuentBuilder((String name,int age)->{
            Student s = new Student(name, age);
            return s;
        });*/
        useStuentBuilder(((name, age) -> new Student(name,age)));
        System.out.println("引用构造器");
        //引用构造器
        useStuentBuilder(Student::new);
    }
    private static void useStuentBuilder(StudentBuilder sb){
        Student s = sb.build("敬老节", 34);
        System.out.println(s.getName()+","+s.getAge());
    }
}
